'''
__call__()方法和可调用对象
    python中，凡是可以将()直接应用到自身并执行，都称为可调用对象
    可调用对象包括自定义的函数、python内置函数、以及本节所讲的实例对象
    定义了__call__()的对象，称为【可调用对象】，即该对象可以像函数一样被调用
    该方法是的实例对象可以像调用普通函数那样，以【对象名()】的形式调用
'''


def f1():
    print('f1')


f1()  # 本质也是调用了__call__()方法，通过dir看对象结构


class Car:
    def __call__(self, years, money):
        print('__call__()方法')
        print(f'车龄{years}，金额：{money}')


c = Car()
c(5, 20000)
Car()(5, 20000)
